package com.jhgsys.internal.sypq.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jhgsys.internal.sypq.params.FileParams;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @ClassName WechatShipModelVO
 * @Description 企业微信端船模列表页面返回实体
 * @Author Lucas
 * @Date 2024/12/7
 **/
@Data
@Schema(name = "WechatShipModelVO",description = "企业微信端船模列表页面返回实体")
public class WechatShipModelVO {

    @Schema(description = "船模主键")
    private String id;

    @Schema(description = "项目编号")
    private String projectCode;

    @Schema(description = "项目名称")
    private String projectName;

    @Schema(description = "船模名称")
    private String shipName;

    @Schema(description = "船模编号")
    private String shipCode;

    @Schema(description = "项目经理")
    private String projectManager;

    @Schema(description = "要求完成时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date demandEnddate;

    @Schema(description = "状态")
    private Integer status;

    @Schema(description = "状态名称")
    private String statusName;

    @Schema(description = "来源")
    private Integer source;

    @Schema(description = "来源名称")
    private String sourceName;

    @Schema(description = "船舶类型")
    private Integer shipType;

    @Schema(description = "船舶类型名称")
    private String shipTypeName;

    @Schema(description = "船模类型")
    private Integer modelType;

    @Schema(description = "船模类型名称")
    private String modelTypeName;

    @Schema(description = "缩尺比")
    private Float rate;

    @Schema(description = "申请时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date applyDate;

    /**
     * 实船总长
     */
    @Schema(description = "实船总长")
    private Float lengthOrigal;

    /**
     * 模型总长
     */
    @Schema(description = "模型总长")
    private Float lengthModel;

    /**
     * 实船两柱间长
     */
    @Schema(description = "实船两柱间长")
    private Float columnWidthOrigal;

    /**
     * 模型两柱间长
     */
    @Schema(description = "模型两柱间长")
    private Float columnWidthModel;

    /**
     * 实船型宽
     */
    @Schema(description = "实船型宽")
    private Float widthOrigal;

    /**
     * 模型型宽
     */
    @Schema(description = "模型型宽")
    private Float widthModel;

    /**
     * 实船设计吃水
     */
    @Schema(description = "实船设计吃水")
    private Float waterDeepOrigal;

    /**
     * 模型设计吃水
     */
    @Schema(description = "模型设计吃水")
    private Float waterDeepModel;

    /**
     * 实船型深
     */
    @Schema(description = "实船型深")
    private Float bodyDeepOrigal;

    /**
     * 模型型深
     */
    @Schema(description = "模型型深")
    private Float bodyDeepModel;

    /**
     * 实船轴高
     */
    @Schema(description = "实船轴高")
    private Float axieHightOrigal;

    /**
     * 模型轴高
     */
    @Schema(description = "模型轴高")
    private Float axieHightModel;

    /**
     * 实船轴间距
     */
    @Schema(description = "实船轴间距")
    private Float axieWidthOrigal;

    /**
     * 模型轴间距
     */
    @Schema(description = "模型轴间距")
    private Float axieWidthModel;

    /**
     * 方形系数
     */
    @Schema(description = "方形系数")
    private String rectRate;



    /**
     * 板块数
     */
    @Schema(description = "板块数")
    private String blockNumber;

    /**
     * 重量要求
     */
    @Schema(description = "重量要求")
    private String weight;

    /**
     * 首部升高
     */
    @Schema(description = "首部升高")
    private String headHeight;

    /**
     * 尾部升高
     */
    @Schema(description = "尾部升高")
    private String tailHeight;

    /**
     * 首侧推
     */
    @Schema(description = "首侧推")
    private String headPush;

    /**
     * 尾侧推
     */
    @Schema(description = "尾侧推")
    private String tailPush;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String memo;

    @Schema(description = "附件列表")
    private List<FileParams> fileList;

}
